/****************************************************************************
 *
 *  3DSKEY.H
 *
 *  (C) Copyright 1997 by Autodesk, Inc.
 *
 *  This program is copyrighted by Autodesk, Inc. and is licensed to you under
 *  the following conditions.  You may not distribute or publish the source
 *  code of this program in any form.  You may incorporate this code in object
 *  form in derivative works provided such derivative works are (i.) are de-
 *  signed and intended to work solely with Autodesk, Inc. products, and (ii.)
 *  contain Autodesk's copyright notice "(C) Copyright 1995 by Autodesk, Inc."
 *
 *  AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.  AUTODESK SPE-
 *  CIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
 *  A PARTICULAR USE.  AUTODESK, INC.  DOES NOT WARRANT THAT THE OPERATION OF
 *  THE PROGRAM WILL BE UNINTERRUPTED OR ERROR FREE.
 *
 ***************************************************************************/

#ifndef KEY_3DS_H
#define KEY_3DS_H

#include "3DSTYPE.H"
#include "3DSPRIM.H"

/* Public Typedefs */

typedef struct {
  ulong3ds length;
  ulong3ds curframe;
} kfkeyinfo3ds;

typedef struct {
  byte3ds use;
  ulong3ds begin;
  ulong3ds end;
} kfsegment3ds;

typedef struct
{
  kfkeyinfo3ds anim;
  kfsegment3ds seg;
} kfsets3ds;

/* End Public */

/* Public Prototypes */
void InitKfSets3ds(kfsets3ds **key);
void ReleaseKfSets3ds(kfsets3ds **key);
void PutKfSets3ds(database3ds *db, kfsets3ds *key);
void GetKfSets3ds(database3ds *db, kfsets3ds **key);
void CopyKfSets3ds(database3ds *destdb, database3ds *srcdb);

/* End Public */

void InitKeyInfo3ds(kfkeyinfo3ds *key);
void PutKeyInfo3ds(database3ds *db, kfkeyinfo3ds *key);
void PutKfSegment3ds(database3ds *db, kfsegment3ds *key);
void InitKfSegment3ds(kfsegment3ds *key);


#endif /* KEY_3DS_H */
